package com.bkgy.modular.yieldReport.mapper;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bkgy.modular.yieldReport.dto.AosrpeDto;
import com.bkgy.modular.yieldReport.dto.TbDsjActWeightDto;
import com.bkgy.modular.yieldReport.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ReportFormsMapper extends BaseMapper<ReportForms> {

    List<ReportForms> findByData(
            @Param("pageIndex") Integer pageIndex,
            @Param("pageSize") Integer pageSize,
            @Param("dto") TbDsjActWeightDto dto
    );

    List<ReportFormsSXSD> findByDataSXSD(
            @Param("condition") JSONObject condition
    );

    Integer findByCount(@Param("dto") TbDsjActWeightDto dto);

    List<ReportForms> findByStatistics(@Param("dto") TbDsjActWeightDto dto);

    List<DailyProduction> findByDailyProduction(@Param("dto") TbDsjActWeightDto dto);

    List<DailyProduction> findByHourlyProduction(@Param("dto") TbDsjActWeightDto dto);

    List<Aosrpe> findAosrpe(
            @Param("pageIndex") Integer pageIndex,
            @Param("pageSize") Integer pageSize,
            @Param("dto") AosrpeDto dto);

    Integer findAosrpeCount(@Param("dto") AosrpeDto dto);

    List<ProductionEfficiencyOfFourShifts> findProductionEfficiencyOfFourShifts(@Param("dto") AosrpeDto dto);

    List<YieldReport> yieldAnalysis(@Param("dto") TbDsjActWeightDto dto);

    List<OnDutyProduction> findOnDutyProduction(@Param("dto") TbDsjActWeightDto dto);
}
